#ifndef __EEPROM_H__
#define __EEPROM_H__ 

#include "main.h"


// STM32的I2C库使用7位地址格式
// IC26: A2=0, A1=0, A0=0 -> 1010000 = 0x50
// IC31: A2=0, A1=1, A0=0 -> 1010010 = 0x51  
#define EEPROM_DEV1_ADDR 0x50
#define EEPROM_DEV2_ADDR 0x51


/**
 * @brief 初始化EEPROM
 * 
 */
void Int_EEPROM_Init(void);

/**
 * @brief 写入EEPROM
 * 
 * @param Dev_addr 设备地址
 * @param Rag_addr 寄存器地址
 * @param data 写入的值
 * @return uint8_t 1=成功, 0=失败
 */
uint8_t Int_EEPROM_Write(uint16_t Dev_addr,uint16_t Rag_addr, uint8_t data);

/**
 * @brief 读取EEPROM
 * 
 * @param Dev_addr 设备地址
 * @param Rag_addr 寄存器地址
 * @param data 读取数据的指针
 * @return uint8_t 1=成功, 0=失败
 */
uint8_t Int_EEPROM_Read(uint16_t Dev_addr,uint16_t Rag_addr, uint8_t* data);

/**
 * @brief 检查EEPROM是否存在
 * 
 * @param Dev_addr 设备地址
 * @return uint8_t 1=存在, 0=不存在
 */
uint8_t Int_EEPROM_IsDeviceReady(uint16_t Dev_addr);



#endif
